﻿//using LiteBlog.Common.Entities;
//using LiteBlog.Repositories.Common;
//using LiteBlog.XmlLayer.Mocks.Constants;
//using Microsoft.VisualStudio.TestTools.UnitTesting;
//using System.Xml.Linq;

//namespace LiteBlog.Repositories.Tests
//{
//    [TestClass]
//    public class TagDataCrudCompTests : CrudCompTests<Tag, TagRepository, TagRepository>
//    {
//        [TestMethod]
//        public void UpdateDoesNotUpdateCount()
//        {
//            UpdateWorks();
//            bool result = (int)_updateElem.Attribute(Attr.Count) ==
//                          TagDataTestConstants.OldCount;
//            Assert.IsTrue(result);
//        }

//        protected override void SetupLoad()
//        {
//            _getId = TagDataTestConstants.Id;
//            _deleteId = TagDataTestConstants.DeleteId;
//            _updateId = TagDataTestConstants.UpdateId;
//            _createId = TagDataTestConstants.CreateId;
//        }

//        protected override Tag GetObject(string id)
//        {
//            var tag = new Tag();
//            tag.TagId = id;
//            tag.Name = TagDataTestConstants.UpdateName;
//            tag.Count = TagDataTestConstants.UpdateCount;
//            return tag;
//        }

//        protected override void VerifyGet(Tag item)
//        {
//            base.VerifyGet(item);
//            Assert.AreEqual(TagDataTestConstants.Name, item.Name);
//            Assert.AreEqual(CountDataTestConstants.Count, item.Count);
//        }

//        protected override bool VerifyUpdate(XElement elem)
//        {
//            bool result = base.VerifyUpdate(elem);
//            if (result)
//            {
//                result = _updateElem.Attribute(Attr.Name)
//                                    .Value
//                                    .Equals(TagDataTestConstants.UpdateName);

//                result = result && (int)_updateElem.Attribute(Attr.Count) ==
//                                    TagDataTestConstants.OldCount;
//            }
//            return result;
//        }
//    }
//}
